package com.eastfair.certificate.service;

import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.eastfair.boot.request.PageParams;
import com.eastfair.boot.service.SuperService;
import com.eastfair.certificate.dto.BadgeTemplateDTO;
import com.eastfair.certificate.entity.BadgeTemplate;
import com.eastfair.certificate.vo.BadgeTemplateVO;
import org.springframework.web.bind.annotation.RequestBody;

import java.util.List;

/**
 * <p>
 * 业务接口
 * 证件模块
 * </p>
 *
 * @author ligang
 * @date 2022-12-20
 */
public interface BadgeTemplateService extends SuperService<BadgeTemplate> {
    /**
     * do转vo
     *
     * @param model
     */
    BadgeTemplateVO doToVo(BadgeTemplate model);

    /**
     * do转vo
     *
     * @param modelList
     */
    List<BadgeTemplateVO> doToVos(List<BadgeTemplate> modelList);


    /**
     * 通用查询
     *
     * @param modelDTO DTO
     * @param ids      主键id集合
     * @return list
     */
    List<BadgeTemplate> list(BadgeTemplateDTO modelDTO, List<Long> ids);

    /**
     * 通用查询
     *
     * @param modelDTO DTO
     * @param ids      主键id集合
     * @return list
     */
    List<BadgeTemplate> listOfCache(BadgeTemplateDTO modelDTO, List<Long> ids);

    /**
     * 添加或更新数据
     * @param badgeTemplateDTO
     * @return
     */
    BadgeTemplateVO saveOrUpdTemplate(BadgeTemplateDTO badgeTemplateDTO);

    /**
     * 分页查询
     * @param params
     * @return
     */
    IPage<BadgeTemplateVO> pageVo(PageParams<BadgeTemplateDTO> params);

    /**
     * 详情
     * @param id
     * @return
     */
    BadgeTemplateVO detail(Long id);


    /**
     * 获取打印信息
     * @param badgeTemplateDTO
     * @return
     */
    BadgeTemplateVO getPrintData(BadgeTemplateDTO badgeTemplateDTO);


    List<JSONObject> assembleDataVO(List<BadgeTemplateVO> badgeTemplateVOList);
}
